﻿using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace Phoenix.Xna.Framework.Graphics
{
    public interface ISpriteBatchService
    {
        SpriteBatch SpriteBatch { get; }

        void Begin();
        void Begin(SpriteBlendMode blendMode);
        void Begin(SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode stateMode);
        void Begin(SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode stateMode, Matrix transformMatrix);
        void End();
        void AddSettings(string id, SpriteBatchSettings settings);
        void RemoveSettings(string id);
        void BeginWithSettings(string id);
    }
}
